﻿namespace ChangchunPublicInterfacs;

/// <summary>
/// 出行专题模块
/// </summary>
public interface ITravelSubject
{
    /// <summary>
    /// 景区关键字查询
    /// </summary>
    /// <param name="keyword">关键字</param>
    /// <param name="page">查询结果的页码</param>
    /// <returns>景区查询结果</returns>
    Task<PoiQueryResult> ScenicSpotKeywordQueryAsync(string keyword, int page);

    /// <summary>
    /// 出行路线规划
    /// </summary>
    /// <param name="travelMode">出行方式</param>
    /// <param name="waypoints">经过点（旅行商分析）</param>
    /// <returns>出行路线规划结果</returns>
    Task<RoutePlanningResult> TravelRoutePlanningAsync(TravelMode travelMode, params Point[] waypoints);

    /// <summary>
    /// 实时路况查询
    /// </summary>
    /// <param name="roadName">路名</param>
    /// <returns>实时路况</returns>
    Task<TrafficResult> RealTimeTrafficQueryAsync(string roadName);

    /// <summary>
    /// 救援信息查询
    /// </summary>
    /// <param name="accidentLocation">事故地点</param>
    /// <returns>救援信息查询结果</returns>
    Task<RescueInfoResult> RescueInfoQueryAsync(Point accidentLocation);
}
